package com.sojson.project.sys.user.entity.dto;

import java.util.Date;
import java.util.List;
import java.util.Set;

import com.sojson.base.impl.BaseListDto;
import com.sojson.project.sys.user.entity.po.UserAdmin;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 用户表列表Bean
 * 
 * @author liu
 * @date 2022-12-05
 */
@Data
@ApiModel("用户表列表Bean")
public class UserAdminDto extends BaseListDto {

    private static final long serialVersionUID = 1L;
    /** 用户表 */
    @ApiModelProperty("用户表")
    private String id;
    /** 昵称 */
    @ApiModelProperty("昵称")
    private String nickName;
    /** 头像 */
    @ApiModelProperty("头像")
    private String headImg;
    /** 姓名 */
    @ApiModelProperty("姓名")
    private String name;
    /** 年龄 */
    @ApiModelProperty("年龄")
    private Integer age;
    /** 性别(1:未知,2:男,3:女) */
    @ApiModelProperty("性别(1:未知,2:男,3:女)")
    private Integer sex;
    /** 邮箱 */
    @ApiModelProperty("邮箱")
    private String mail;
    /** 帐号 */
    @ApiModelProperty("帐号")
    private String username;
    /** 手机号 */
    @ApiModelProperty("手机号")
    private String mobile;
    /** 密码 */
    @ApiModelProperty("密码")
    private String pwd;
    /** 数据权限(1:全部数据权限,2:自定数据权限,3:部门数据权限,4:部门及以下数据权限,5:仅本人数据权限) */
    @ApiModelProperty("数据权限(1:全部数据权限,2:自定数据权限,3:部门数据权限,4:部门及以下数据权限,5:仅本人数据权限)")
    private Integer dataScope;
    /** 部门树选择项是否关联显示(1:是,0:否) */
    @ApiModelProperty("部门树选择项是否关联显示(1:是,0:否)")
    private Boolean deptCheckStrictly;
    /** 部门ID */
    @ApiModelProperty("部门ID")
    private String deptId;
    /** 此帐号允许在多地同时在线的类型(1:不限制登录数量,2:只允许一台设备登录,3:每种类型的设备只允许一台登录,4:所有设备只允许一定数量登录,5:每种类型的设备允许一定数量登录) */
    @ApiModelProperty("此帐号允许在多地同时在线的类型(1:不限制登录数量,2:只允许一台设备登录,3:每种类型的设备只允许一台登录,4:所有设备只允许一定数量登录,5:每种类型的设备允许一定数量登录)")
    private Integer typeMoreOnline;
    /** 此帐号允许同时在线的最大数量 */
    @ApiModelProperty("此帐号允许同时在线的最大数量")
    private Integer onlineMaxNumber;
    /** 有效时间类型(1:永久,2:限时) */
    @ApiModelProperty("有效时间类型(1:永久,2:限时)")
    private Integer disableAtType;
    /** 有效时间 */
    @ApiModelProperty("有效时间")
    private Date disableAt;
    /** 状态 1正常 2禁用 */
    @ApiModelProperty("状态 1正常 2禁用")
    private Integer status;
    /** 创建人 */
    @ApiModelProperty("创建人")
    private String createBy;
    /** 创建时间 */
    @ApiModelProperty("创建时间")
    private Date createTime;
    /** 更新人 */
    @ApiModelProperty("更新人")
    private String updateBy;
    /** 更新时间 */
    @ApiModelProperty("更新时间")
    private Date updateTime;
    /** 用户表集合 */
    @ApiModelProperty("用户表集合")
    private List<String> ids;
    /** 用户表集合 */
    @ApiModelProperty("用户表集合")
    private List<UserAdmin> userAdmins;
    /** 角色ID集合 */
    @ApiModelProperty("角色ID集合")
    private Set<String> roleIds;
    /** 部门ID集合 */
    @ApiModelProperty("部门ID集合")
    private Set<String> deptIds;

}